हाल ही में फ्रंटएंड डेवलपमेंट में सबसे रोमांचक विषयों में से एक एज कंप्यूटिंग है। किनारे पर कोड चलाने में सक्षम होना एक नई क्षमता है जो मौलिक रूप से बदल देगी कि हम एप्लिकेशन कैसे लिखते हैं। इस लेख का उद्देश्य सर्वर रहित एज कंप्यूटिंग का एक संक्षिप्त अवलोकन प्रदान करना है, यह क्यों फायदेमंद है, और आप इसका उपयोग कैसे कर सकते हैं।
कुछ समय पहले तक, जब हम बढ़त के बारे में बात करते थे, तो हम आमतौर पर सामग्री वितरण नेटवर्क (सीडीएन) के बारे में सोचते थे, जो दुनिया भर के सैकड़ों सर्वरों में एचटीएमएल, सीएसएस फाइलों, छवियों, वीडियो इत्यादि जैसी स्थिर संपत्तियों को कैश करते हैं। चूंकि सामग्री उपयोगकर्ताओं के करीब है, इसलिए पहुंच बहुत तेज है। सर्वर रहित एज कंप्यूटिंग डेवलपर्स को किसी भी सर्वर को प्रबंधित किए बिना किनारे पर कोड चलाने की अनुमति देकर इस विचार का विस्तार करती है। एज कंप्यूटिंग डेवलपर्स को बैकएंड और डिवाइस पर दो पारंपरिक विकल्पों के साथ उनके कोड के लिए एक नया स्थान देता है।
इन दिनों सबसे ज्यादा चर्चित दो प्लेटफॉर्म हैं क्लाउडफ्लेयर वर्कर्स और डेनो डिप्लॉय। उच्च स्तर पर, उनमें कई समानताएँ हैं:
दूसरी ओर, दो प्लेटफार्मों के बीच सबसे स्पष्ट अंतर यह है कि डेनो डिप्लॉय किसी भी स्टोरेज सॉल्यूशन की पेशकश नहीं करता है, जबकि क्लाउडफ्लेयर वर्कर्स के पास लगातार स्टोरेज के लिए ड्यूरेबल ऑब्जेक्ट हैं और वर्कर्स केवी कम-लेटेंसी स्टोरेज के लिए अंतिम स्थिरता के साथ हैं।
एज कंप्यूटिंग का उपयोग अक्सर मिडलवेयर को लागू करने के लिए किया जाता है जो साधारण स्क्रिप्ट है जो URL को फिर से लिखता है, अनुरोधों को पुनर्निर्देशित करता है, या कुकीज़ और हेडर में हेरफेर करता है। उदाहरण के लिए, आप कुकी के मूल्य के आधार पर पृष्ठ के विभिन्न संस्करणों को प्रस्तुत करके ए/बी परीक्षण कर सकते हैं। आप स्थानीयकरण का समर्थन कर सकते हैं, जिसका अर्थ है कि विभिन्न देशों के उपयोगकर्ताओं को अलग-अलग सामग्री देखने को मिलती है। आप उपयोगकर्ता प्रमाणीकरण स्थिति के आधार पर कुछ पृष्ठों तक पहुंच प्रदान या अवरुद्ध भी कर सकते हैं।
जबकि उपरोक्त उपयोग के मामलों को बैकएंड और/या क्लाइंट द्वारा नियंत्रित किया जा सकता है, प्रदर्शन और सादगी के मामले में एज कंप्यूटिंग का उपयोग करना अधिक इष्टतम है। यदि आप क्लाइंट पर A/B परीक्षण या स्थानीयकरण लागू करते हैं, तो आपके पास एक बड़े आकार का बंडल और एक झिलमिलाता UI हो सकता है। दूसरी ओर, बैकएंड पर इस कार्यक्षमता को लागू करने के लिए आमतौर पर सर्वर कॉन्फ़िगरेशन की आवश्यकता होती है और इसके परिणामस्वरूप धीमी प्रतिक्रिया होती है।
एज कंप्यूटिंग हालांकि मिडलवेयर की तुलना में बहुत अधिक है। वास्तव में, आप अपने बैकएंड को पूरी तरह से बदलने के लिए एज कंप्यूटिंग का भी उपयोग कर सकते हैं। कई पूर्ण-स्टैक फ्रेमवर्क, उदाहरण के लिए, रीमिक्स और फ्रेश, अब आपको ऐसे फ़ंक्शन लिखने की अनुमति देते हैं जो सीधे डेटाबेस तक पहुंचते हैं और किनारे पर HTML प्रस्तुत करते हैं। ऐसा करने से, आपको शायद पहले की तरह एपीआई विकसित करने की आवश्यकता नहीं होगी। (लेकिन क्या आप किनारे पर एक RESTful API या यहां तक कि एक GraphQL API परोसना चाहते हैं, आप ऐसा भी कर सकते हैं।)
लेकिन आपको अपने बैकएंड को सर्वरलेस एज कंप्यूटिंग से बदलने पर विचार क्यों करना चाहिए? उसके कई कारण हैं। सबसे पहले, क्योंकि यह सर्वर रहित है, चिंता करने के लिए कोई सर्वर रखरखाव नहीं है और न ही ऑटोस्केलिंग है। दूसरा, यह पारंपरिक बैकएंड की तुलना में बहुत तेज है क्योंकि यह उपयोगकर्ताओं के बहुत करीब चलता है और सामान्य फंक्शन-ए-ए-सर्विस प्लेटफॉर्म की तुलना में, एज कंप्यूटिंग में बहुत कम या कोई ठंड शुरू नहीं होती है । और तीसरा, यह पारंपरिक सर्वर रहित विकल्पों की तुलना में सस्ता है क्योंकि एज कंप्यूटिंग प्लेटफॉर्म मल्टी-टेनेंसी के लिए हल्के वजन वाली तकनीकों का उपयोग करते हैं, जैसे कि V8 आइसोलेट्स (वर्चुअल मशीन या कंटेनर के विपरीत), जो उन्हें संसाधनों का अधिक कुशलता से उपयोग करने और बहुत कुछ संभालने की अनुमति देता है। अधिक अनुरोध।
यदि आप वेब अनुप्रयोगों को परिनियोजित करने के लिए Netlify या Vercel जैसे प्लेटफ़ॉर्म का उपयोग कर रहे हैं, तो एज कंप्यूटिंग में ऑप्ट-इन करना बहुत आसान है। उदाहरण के लिए, आप Netlify's Edge Functions (जो Deno Deploy पर बनाया गया है) या Vercel's Edge Middleware (जो संभवत: Cloudflare वर्कर्स के ऊपर चलता है) का उपयोग कर सकते हैं। जब आप Vercel या Netlify में नेक्स्ट.js एप्लिकेशन (संस्करण 12.2 के बाद से) को परिनियोजित करते हैं, तो आप सर्वर रेंडरिंग के लिए एज रनटाइम का उपयोग करने के लिए कुछ या सभी पृष्ठों को कॉन्फ़िगर कर सकते हैं (इस क्षमता को एज SSR कहा जाता है)।
यदि आप Netlify, Vercel, या इसी तरह के किसी प्लेटफ़ॉर्म पर परिनियोजित नहीं करते हैं, तो यह सलाह दी जाती है कि आप एक एज-नेटिव फुल स्टैक फ्रेमवर्क का उपयोग करें और अपने एप्लिकेशन को सीधे पसंद की एज कंप्यूटिंग सेवा पर तैनात करें। उदाहरण के लिए, आप अपने ऐप को फ्रेश फ्रेमवर्क के साथ विकसित कर सकते हैं और इसे डेनो डिप्लॉय पर प्रकाशित कर सकते हैं। एक अन्य उदाहरण रीमिक्स फ्रेमवर्क है जो क्लाउडफ्लेयर वर्कर्स और डेनो डिप्लॉय (कई अन्य परिनियोजन लक्ष्यों के साथ) दोनों के लिए एडेप्टर प्रदान करता है।
यदि आप एक पूर्ण स्टैक ढांचे का उपयोग नहीं करना चाहते हैं, तो आप अपने फ्रंटएंड और बैकएंड को अलग-अलग विकसित कर सकते हैं। क्लाउडफ्लेयर के साथ, आप पेज या वर्कर्स साइट्स के साथ अपने फ्रंटएंड और स्टैटिक एसेट की सेवा कर सकते हैं। डेनो डिप्लॉय के साथ, आप फाइल सिस्टम से स्थिर संपत्तियों की सेवा कर सकते हैं। बैकएंड के लिए, आप शायद एक HTTP फ्रेमवर्क का उपयोग करना चाहते हैं जैसे कि सुंदर (यदि आप क्लाउडफ्लेयर वर्कर्स को लक्षित करते हैं), ओक , राउटर , या सिफ्ट (यदि आप डेनो डिप्लॉय को लक्षित करते हैं)।
जबकि एज कंप्यूटिंग मिडलवेयर स्क्रिप्ट को लागू करने के लिए एकदम सही है, अगर आप इसके साथ पूरे बैकएंड को लागू करना चाहते हैं, तो आपको सीपीयू रनटाइम, मेमोरी, पैकेज साइज आदि पर लक्ष्य प्लेटफॉर्म की सीमाओं के बारे में पता होना चाहिए। आप यहां क्लाउडफ्लेयर वर्कर्स की सीमा के बारे में विस्तृत जानकारी पा सकते हैं, और डेनो डिप्लॉय यहां ।
संक्षेप में, क्लाउडफ्लेयर वर्कर्स और डेनो डिप्लॉय जैसे एज कंप्यूटिंग प्लेटफॉर्म के साथ, डेवलपर्स मिडलवेयर और बैकएंड लिख सकते हैं जो तेज और सस्ते दोनों हैं। एज कंप्यूटिंग एक गेम चेंजर है जिसने रीमिक्स और फ्रेश जैसे फुल-स्टैक फ्रेमवर्क की एक नई पीढ़ी को सक्षम किया है। आप इन चौखटे का उपयोग अनुप्रयोगों को सीधे किनारे पर विकसित और परिनियोजित करने के लिए कर सकते हैं। इसके अतिरिक्त, एज कंप्यूटिंग का उपयोग अप्रत्यक्ष रूप से Netlify और Vercel जैसे प्लेटफार्मों के माध्यम से किया जा सकता है।
यह तो बस शुरुआत है। निकट भविष्य में, हम उम्मीद कर सकते हैं कि बढ़त के लिए बहुत अधिक ढांचे, पुस्तकालय और उपकरण विकसित किए जाएंगे। उम्मीद है, इस लेख ने आपकी रुचि को बढ़ाया है और आपको एज कंप्यूटिंग पर कुछ उच्च-स्तरीय जानकारी दी है ताकि आप इसकी क्षमता की खोज शुरू कर सकें।